]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
overviewControls: fade view selector and thumbnails slider on DnD
authorCosimo Cecchi <cosimoc@gnome.org>
Mon, 18 Feb 2013 04:45:24 +0000 (23:45 -0500)
committerCosimo Cecchi <cosimoc@gnome.org>
Thu, 21 Feb 2013 16:16:43 +0000 (11:16 -0500)
When an item is dragged from a page that is not the windows one, the
only possible target is the dash, so fade out the rest.

https://bugzilla.gnome.org/show_bug.cgi?id=686984

js/ui/overviewControls.js
js/ui/viewSelector.js

index ccd654336a36edf4fb26ab5fce79fa7545803425..e03b572ac989856a28fa2a48231423976ce10d50 100644 (file)
@@ -341,6 +341,21 @@ const ControlsManager = new Lang.Class({
         this._viewSelector = viewSelector;
         this._viewSelector.connect('page-changed', Lang.bind(this, this._setVisibility));
         this._viewSelector.connect('page-empty', Lang.bind(this, this._onPageEmpty));
+
+        Main.overview.connect('item-drag-begin', Lang.bind(this,
+            function() {
+                let activePage = this._viewSelector.getActivePage();
+                if (activePage != ViewSelector.ViewPage.WINDOWS)
+                    this._viewSelector.fadeHalf();
+            }));
+        Main.overview.connect('item-drag-end', Lang.bind(this,
+            function() {
+                this._viewSelector.fadeIn();
+            }));
+        Main.overview.connect('item-drag-cancelled', Lang.bind(this,
+            function() {
+                this._viewSelector.fadeIn();
+            }));
     },
 
     _setVisibility: function() {
index 4e1f1df61a4f9fd14c179816c3864c81e3557653..386150fd3190646eb354a49e81dd767361588462 100644 (file)
@@ -502,6 +502,22 @@ const ViewSelector = new Lang.Class({
             return ViewPage.APPS;
         else
             return ViewPage.SEARCH;
+    },
+
+    fadeIn: function() {
+        let actor = this._activePage;
+        Tweener.addTween(actor, { opacity: 255,
+                                  time: OverviewControls.SIDE_CONTROLS_ANIMATION_TIME / 2,
+                                  transition: 'easeInQuad'
+                                });
+    },
+
+    fadeHalf: function() {
+        let actor = this._activePage;
+        Tweener.addTween(actor, { opacity: 128,
+                                  time: OverviewControls.SIDE_CONTROLS_ANIMATION_TIME / 2,
+                                  transition: 'easeOutQuad'
+                                });
     }
 });
 Signals.addSignalMethods(ViewSelector.prototype);